Read head stress reduction

ABSTRACT

Systems and methods are disclosed for dynamically adjusting parameters used during a read operation to reduce stress on a read head. In certain embodiments, an apparatus may comprise a read head configured to read data stored to a data storage medium, and a control circuit that controls a parameter of the read head influencing the read head&#39;s ability to accurately read data. The control circuit may be configured to extend the working lifespan of the read head by monitoring a read performance of the read head, and adjusting the parameter to reduce the read performance when the read performance is greater than a first threshold.

SUMMARY

In certain embodiments, an apparatus may comprise a read head configuredto read data stored to a data storage medium, and a control circuit thatcontrols a parameter of the read head influencing the read head'sability to accurately read data. The control circuit may be configuredto extend the working lifespan of the read head by monitoring a readperformance of the read head, and adjusting the parameter to reduce theread performance when the read performance is greater than a firstthreshold.

In certain embodiments, a method may comprise reading data stored to adata storage medium using a read head, controlling a parameter of theread head influencing the read head's ability to accurately read data toextend the working lifespan of the read head including: monitoring aread performance of the read head, and adjusting the parameter to reducethe read performance when the read performance is greater than a firstthreshold.

In certain embodiments, a memory device may store instructions that,when executed, cause a processor to perform a method comprising readingdata stored to a data storage medium using a read head, and controllinga parameter of the read head influencing the read head's ability toaccurately read data to extend the working lifespan of the read head.Controlling the parameter may include: monitoring a read performance ofthe read head, adjusting the parameter to reduce the read performancewhen the read performance is greater than a first threshold, adjustingthe parameter to increase the read performance when the read performanceis below a second threshold, and not adjusting the parameter to maintainthe read performance when the read performance is neither above thefirst threshold nor below the second threshold.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a system configured for read head stressreduction, in accordance with certain embodiments of the presentdisclosure;

FIG. 2 is a diagram of a system configured for read head stressreduction, in accordance with certain embodiments of the presentdisclosure;

FIG. 3 is a diagram of a system configured for read head stressreduction, in accordance with certain embodiments of the presentdisclosure;

FIG. 4 is a diagram of a system configured for read head stressreduction, in accordance with certain embodiments of the presentdisclosure;

FIG. 5 depicts a flowchart of an example method for read head stressreduction, in accordance with certain embodiments of the presentdisclosure;

FIG. 6 depicts a flowchart of an example method for read head stressreduction, in accordance with certain embodiments of the presentdisclosure; and

FIG. 7 depicts a flowchart of an example method for read head stressreduction, in accordance with certain embodiments of the presentdisclosure.

DETAILED DESCRIPTION

In the following detailed description of certain embodiments, referenceis made to the accompanying drawings which form a part hereof, and inwhich are shown by way of illustration of example embodiments. It isalso to be understood that features of the embodiments and examplesherein can be combined, exchanged, or removed, other embodiments may beutilized or created, and structural changes may be made withoutdeparting from the scope of the present disclosure.

In accordance with various embodiments, the methods and functionsdescribed herein may be implemented as one or more software programsrunning on a computer processor or controller. Dedicated hardwareimplementations including, but not limited to, application specificintegrated circuits, programmable logic arrays, and other hardwaredevices can likewise be constructed to implement the methods andfunctions described herein. Methods and functions may be performed bymodules or nodes, which may include one or more physical components of acomputing device (e.g., logic, circuits, processors, etc.) configured toperform a particular task or job, or may include instructions that, whenexecuted, can cause a processor to perform a particular task or job, orany combination thereof. Further, the methods described herein may beimplemented as a computer readable storage medium or memory deviceincluding instructions that, when executed, cause a processor to performthe methods.

FIG. 1 is a diagram of a system 100 configured for read head stressreduction, in accordance with certain embodiments of the presentdisclosure. The system 100 may include a data storage device (DSD) 104,such as a storage drive or any other device which may be used to storeor retrieve data, including a hard disc drive (HDD) or hybrid drive. Asused herein, a data storage drive may refer to a device specificallyadapted for data storage and retrieval to a memory internal to thedrive, not including more general purpose processing devices such ascomputers and smart devices, although the DSD 104 and the teachingsherein are not limited to such drives.

The DSD 104 may include a read head or reader 106, a disc media memoryor media 109, and a controller 110. Disc media 109 may include magneticstorage discs, or other large-capacity storage media that could benefitfrom read head parameter adjustment as described herein. The controller110 may be one or more processors or circuits configured to perform dataaccess operations, such as reads or writes, to the disc media 109. Dataretrieved from, or stored to, the disc media 109, may be processed viathe controller 110, a read/write (R/W) channel, or other elements forencoding or decoding data, error correction, or other processing.

The system 100 may include a host device 102, which may also be referredto as the host system, host computer, or simply ‘host’. The host 102 canbe one or more server-class computers, desktop computers, laptopcomputers, workstations, tablet computers, telephones, music players,set top boxes, a control system of a self-driving vehicle, otherelectronic devices, or any combination thereof. The host 102 and DSD 104may be connected by way of a wired or wireless connection, or by a localarea network (LAN) or wide area network (WAN). In some embodiments, theDSD 104 can be a stand-alone device not connected to a host 102 (e.g. aremovable data storage device having its own case or housing). The host102 may issue data access requests, such as read or write requests, tothe DSD 104. In response, the DSD 104 may perform data access operationson the disc media 109 via the controller 110 based on the requests.

Data may be read from the disc media 109 by positioning the reader 106over a location on the disc media 109 where the data is stored, andusing the reader 106 to detect the data stored at that location. Forexample, the disc media 109 may comprise a magnetic disc media, and thereader 106 may comprise a magneto-resistive (MR) read head configured tosense the magnetic fields stored to the disc 109 and convert them tosignals, which signals can be processed by a R/W channel and controller110 to obtain a data bit sequence.

Readers 106 may undergo a degradation process the longer they are used.As wear is put on the reader 106, its ability to accurately read datafrom the disc 109 may deteriorate, which can lead to more read errors,unrecoverable data, or complete reader failure, thereby reducing theperformance and overall useful life of the DSD 104. Various settings orparameters may affect the ability of a read head 106 to read data fromthe disc 109, but high performance settings may also contribute to oraccelerate reader 106 degradation. One example includes the biassettings applied to the read head, where “bias” or “bias setting” myrefer to a current bias or voltage bias. A bias setting applied to thereader element 106 can affect the reader's ability to detect and converta magnetic field from the disc 109 into a read signal. However, the biascan also generate heat in the reader 106 and degrade its performanceover time. Similarly, the fly height of a slider, a structure supportingthe read head 106 and write head, over the disc 109 surface can affectthe reader's ability to detect the magnetic field. Generally, a lowerfly-height may allow more precise reading. However, a low fly height mayalso lead to more impacts of the slider and read head 106 on the disc109 surface, and some methods of keeping a low fly height may generateheat that can damage the reader 106, both factors degrading the lifeexpectancy of the read head 106. As used herein, “lower” or “low”settings may refer to settings for the read head 106 that may reduce itsability to accurately read data relative to a maximum-performancebaseline, but that may also reduce stress and extend the expectedlifespan of the read head 106. Conversely, “higher” or “high” settingsmay refer to settings for the read head 106 at or towards amaximum-performance baseline, which may improve the reader's 106 abilityto accurately read data at the expense of greater stress. The settingsmay also be referred to as “durability-focused” and“performance-focused.”

The components of the DSD 104 may undergo certification testing during amanufacturing process. This may include determining the reader's 106capacity to read data from the disc 109 using various settings. Thisone-time testing may be used to establish a baseline for the settingused for the read head 106, such as the bias applied to the read elementduring operation, and the fly height for the read head 106. Thisbaseline may be fixed for the life of the DSD 104. However, the baselinemay be set to allow the read head 106 to read difficult data segmentswithin the error correction capabilities of the DSD 104. During normalread operations of data that is not difficult to read, the baselineparameters may be more stringent than necessary to read the data, andcan therefore put unnecessary wear on the reader 106.

Accordingly, the DSD 104 may include a reader parameter adjustmentmodule (RPAM) 130. The RPAM 130 may adjust the parameters or settingsused for the reader 106 based on current read performance or ananticipated workload. For example, the RPAM 130 may monitor parametricsor statistics relating to a read operation (e.g. an amount ofbits-in-error or a bit error ratio (BER) during a read, a number of readretries, a number of detector iterations for the bit pattern toconverge, or other parameters) to determine a difficulty of the databeing read. If the difficulty is low, the RPAM 130 may lower or reducethe baseline settings to reduce stress on the reader 106. If thedifficulty is high, the RPAM 130 may increase the current settings, orreset them to the baseline. The RPAM 130 may be one or more processors,controllers, or other circuits, or it may be a set of softwareinstructions that, when executed by a processing device, perform thefunctions of the RPAM 130. In some embodiments, the RPAM 130 may be partof the controller 110, or executed by the controller 110, or the RPAM130 may be incorporated into other components or a stand-alone componentof the DSD 104. An example embodiment of system 100, including a moredetailed diagram of DSD 104, is depicted in FIG. 2.

FIG. 2 is a diagram of a system, generally designated 200, configuredfor read head stress reduction, in accordance with certain embodimentsof the present disclosure. Specifically, FIG. 2 provides a functionalblock diagram of an example data storage device (DSD) 200, which may bean example of the DSD 104 of FIG. 1. The DSD 200 may also be referred toas hard disc drive (HDD) 200, according to some embodiments. The DSD 200can communicate with a host device 202 (such as the host system 102shown in FIG. 1) via a hardware or firmware-based interface circuit 204.The interface 204 may comprise any interface that allows communicationbetween a host 202 and a DSD 200, either wired or wireless, such as USB(universal serial bus), IEEE (Institute of Electrical and ElectronicsEngineers standard) 1394, Compact Flash, SATA (Serial AT Attachment),eSATA (External SATA), PATA (Parallel AT Attachment), SCSI (SmallComputer System Interface), SAS (Serial Attached SCSI), PCIe (PeripheralComponent Interconnect Express), Fibre Channel, Ethernet, orThunderbolt, among others. The interface 204 may include a connectorthat allows the DSD 200 to be physically removed from the host 202. TheDSD 200 may have a casing 240 housing the components of the DSD 200.

The buffer 212 can temporarily store data during read and writeoperations, and can include a command queue (CQ) 213 where multipleoperations can be temporarily stored pending execution. Commandsarriving over the interface 204 may automatically be received in the CQ213 or may be stored there by controller 206, interface 204, or anothercomponent.

The DSD 200 can include a programmable controller 206, which can includeassociated memory 208 and processor 210. The controller may executefirmware (FW) (e.g. instructions stored to a memory, such as additionalmemory 203) to control the operations of the DSD 200. The controller 206may control data access operations, such as reads and writes, to one ormore memories, such as disc memory 209, additional memory 203, or anycombination thereof. For example, additional memory 203 may includevolatile memory such as dynamic random access memory (DRAM) or staticRAM (SRAM), nonvolatile solid state memory such as NAND flash memory,read-only memory (ROM), or other memory types. The additional memory 203can function as a working memory for storing temporary data, a cache tostore recently or frequently read or written data, or data likely to beread soon, or for other temporary data storage. Additional memory 203may also function as main long-term storage instead of or in addition todisc(s) 209. A DSD 200 containing multiple types of nonvolatile storagemediums, such as a disc(s) and flash, may be referred to as a hybridstorage device. The memory 208 may similarly include DRAM, SRAM, orsimilar volatile memory, and may store FW instructions during deviceoperation, cached data, or other information.

The DSD 200 can include a read-write (R/W) channel 217, which can encodedata during write operations and reconstruct user data retrieved from amemory, such as disc(s) 209, during read operations. A preamplifiercircuit (preamp) 218 can apply write currents and read bias to thehead(s) 219, and provides pre-amplification of read-back signals. Headassembly 219 may include a read head element and a write head element,and may include a slider on which the read and write elements may bemounted. A servo control circuit 220 may use servo data to provide theappropriate current to the coil 224, sometimes called a voice coil motor(VCM), to position the head(s) 219 over a desired area of the disc(s)209 by moving an adjustable actuator arm on which the head(s) 219 aremounted. The controller 206 can communicate with a processor 222 of theservo controller 220 to move the head(s) 219 to the desired locations onthe disc(s) 209 during execution of various pending commands in thecommand queue 213.

The DSD 200 may include a reader parameter adjustment module (RPAM) 230.The RPAM 230 may be a processor, controller, or other circuit, or it maybe a set of software instructions that, when executed by a processingdevice, perform the functions of the RPAM 230. In some embodiments, theRPAM 230 may be part of or executed by the controller 206, included inor executed by the servo control circuit 220, incorporated into otherelements of the DSD 200, a standalone component within the DSD 200, orany combination thereof. The RPAM 230 may control operations of DSD 200relating adjusting parameters or settings for the read head 219 duringread operations, in order to lower stress on the reader 219 or toimprove reading capability.

The RPAM 230 may send signals to components of the DSD 200 to controloperations of the read head(s) 219. The DSD 200 may include a pluralityof discs 209, with each disk having at least one corresponding read head219. The DSD 200 may have baseline or initial settings for each headstored (e.g. in a table) to a memory accessible by RPAM 230 or otherelements of the head control system, or every head may use the sameinitial or baseline settings. During operation of the DSD 200, thebaseline settings may be applied initially for a head 219. The RPAM 230may monitor performance of the head 219, for example by receivingmetrics from the R/W channel 217, servo controller 220, or otherelements. Monitored metrics may indicate how hard the head 219 isworking, and may include a number of iterations (e.g. between a detectorand a decoder in the R/W channel 217) for a data pattern to converge, anumber of bits-in-error for a selected number of read bits (e.g. anumber of bits that were corrected when the data for a sectorconverges), bit error ratio (BER), signal-to-noise ratio (SNR), numberof read retries, or other metrics. The metrics may be evaluated ortallied for a complete write operation (which may include one or moreLBA ranges), or may be evaluated on a sector-by-sector basis, with eachsector being classified into categories such as “difficult” or“moderate” regarding the head's 219 ability to read them. Based on theevaluated metrics, the RPAM 230 may adjust the baseline settings, suchas by reducing a fly height or increasing the bias to the reader elementof the head 219 to improve read performance, or by increasing the flyheight or reducing the bias to the read head 219 if read performance iswithin or above acceptable parameters. If a read error occurs, such aswhen read data fails to decode, the RPAM 230 may reset the head 219settings to the baseline or default settings, or to ahighest-performance setting, if the baseline is not the best readperformance setting. The DSD 200 may have an error correctioncapability, referring to a number of bits-in-error that may be correctedwithin the R/W channel 217 or controller 206 without the need to performread-retries. The RPAM 230 may seek to adjust the settings applied tothe heads 219 in order to utilize the error correction capabilities ofthe DSD 200 to reduce the stress on the reader 219, without resulting inread errors. If the head 219 settings are set too high, the reader 219undergoes more stress while the error correction capabilities of the DSD200 are underutilized. If the reader 219 settings are set too low, theread data may fail to decode and read retries may be needed more often,reducing the performance of the DSD 200. The RPAM 230 may adjust thereader 219 settings to stay within those two extremes. For example, if aR/W channel 217 can handle up to 100 iterations when attempting tocorrect and decode data, the RPAM 230 may aim for maintainingapproximately a 20 iteration average.

In some examples, the RPAM 230 may preemptively adjust read head 219settings prior to a read, instead of or in addition to adjustingsettings based on performance metrics during reads. If the RPAM 230determines that a sector scheduled to be read is likely to be difficultto read, the RPAM 230 may increase settings for the head 219 to improveread performance, while if no difficult sectors are anticipated, theRPAM 230 may reduce settings. In some embodiments, the RPAM 230 maycompare LBA ranges for upcoming read operations against a bad ordefective sector list, which may provide metrics on sectors that havebeen difficult to read in the past. For example, the DSD 200 maymaintain a list of sectors at which read errors have occurred (e.g. datafailed to decode), or at which a threshold number of decode iterationswere needed to decode the data, and may increase a counter for a sectoreach time a failed or difficult read occurred. If the counter exceeds athreshold, the sector may be designated as defective and the LBA addressreassigned to a spare sector elsewhere. However, even beforereassignment, a difficult read counter in a bad sector table may be usedto evaluate whether a sector is likely to be difficult to read. In someembodiments, the DSD 200 may maintain a DOS (directed offline scan)counter for data tracks, which may be used to determine when to rewritethe data on a track due to degradation caused by writes to nearbytracks. If a target data track for an upcoming read operation has a highDOS counter (indicating the data may have degraded and will be rewrittensoon), the RPAM 230 may increase settings for the reader 219, while theRPAM 230 may lower reader 219 settings for a track having a low DOScounter (e.g. when the DOS counter is below a threshold value). In someexamples, different zones of a disc 209 may be written in differentformats, such as some zones having a higher tracks-per-inch (TPI) orbits-per-inch (BPI) settings, or some may be written in a shingled,partially-overlapped format while other tracks are not overlapped. TheRPAM 230 may evaluate the difficulty of reading a target zone of anupcoming read operation and adjust the head settings accordingly. Otherexamples are also possible.

The RPAM 230 may also evaluate characteristics of a workload whendeciding which settings to apply for a head 219. If the workload isamenable to lower performance, where read retries may be more acceptableif an initial read attempt fails, the RPAM 230 may set lower settingsfor the head 219. However, if the workload would be significantlyadversely affected by read retries, the RPAM 230 may apply highersettings for the read head 219. For example, the DSD 200 may determine(e.g. based on evaluating a sequence of read requests or based onindicators received from the host 202) that the host 202 is streamingdata from the DSD 200, such as for media playback (e.g. video or audiostreaming). Streaming data may be adversely affected by the delay causedby a read retry operation, and therefore the RPAM 230 may applyperformance-focused settings for the head 219 when greater than athreshold amount of streaming read commands are pending. The RPAM 230may likewise apply performance-focused settings when the workload at theDSD 200 is heavy, and delays caused by read retries may cause commandqueues 213 or buffers to overflow, or commands to time out. Conversely,if the DSD 200 has a light workload, the RPAM 230 may applydurability-focused settings for the read head 219, e.g. based onevaluating a number of pending operations in the command queue 213.

In some embodiments, the RPAM 230 may only adjust reader 219 settingsfor certain read operations. For example, the RPAM 230 may adjust readhead 219 settings for read commands received from the host 202, whilethe RPAM 230 may not adjust settings for read operations generatedinternally by the DSD 200, such as DOS reads used when reading andrewriting data to tracks. In other embodiments, the RPAM 230 may adjustreader 219 settings for all read operations. Example embodiments ofarchitecture and design of DSDs 200 configured for read head stressreduction are described in regards to the following figures.

FIG. 3 is a diagram of a system, generally designated 300, configuredfor read head stress reduction, in accordance with certain embodimentsof the present disclosure. Specifically, FIG. 3 provides a diagram of anexample disc storage media 309, which may be an example of the disc(s)209 of FIG. 2.

During operation, example disc 309 may spin, rotating about a centralspindle 304. The surface of the disc 309 may include a plurality ofconcentric or spiral data tracks, from the inner diameter (ID) near thespindle 304 to the outer diameter (OD) 306. A head assembly 319 may bepositioned over a desired track, and data may be read from or written tothe track as the disc 309 spins below the head assembly 319. The headassembly 319 may be mounted to an adjustable actuator arm 310, which maypivot on an actuator 302 controlled by a voice coil motor and a servocontrol system to precisely control the position of the head 319 over adesired track. In some embodiments, a DSD may include a stack ofmultiple discs 309 that all spin around the same shared spindle 304.Each disc 309 in the stack (or each surface of each disc if bothsurfaces are used for data storage) may have a corresponding head 319and actuator arm 310.

The head assembly 319 may include one or more read elements for readingdata, write elements for recording data, and sliders for controlling afly height of the head 319 over the surface of the disc 309. The slidermay include an air-bearing that determines a passive fly height of thehead 319 over the disc (e.g. in the range of 7-8 nanometers). The head319 can also include a dynamically-adjustable fly height mechanism,allowing the fly height of the head 319 to be adjusted from the passivefly height during drive operation. Using the adjusted by the fly heightmechanism, the DSD may achieve an “active” fly height clearance in therange of, e.g. 7-12 angstrom. Example adjustable fly height mechanismsmay include a resistive heater or piezoelectric mechanism, which mayallow for the flexing or bending of elements of the head 319 in order tomove the head 319 farther from or closer to the disc 309 surface. Whilethe active fly height mechanisms may enable a fly height closer to thedisc 309 surface, and thereby allow for greater reading or writingaccuracy and improved areal density, those mechanisms may also generateheat and increase the likelihood of head 319 impacts on the disc 309surface, which may increase the stress on the reader element of the head319. Another example architecture of a system for read head stressreduction is described in regards to FIG. 4.

FIG. 4 is a diagram of a system, generally designated 400, configuredfor read head stress reduction, in accordance with certain embodimentsof the present disclosure. Specifically, FIG. 4 provides a functionalblock diagram of an example data storage device (DSD) 400, which may bean example of the DSD 104 of FIG. 1. DSD 400 may include one or moremodules for performing the described operations, one or more of whichmay be integrated onto a system on a chip (SOC) integrated circuit, orotherwise distributed within the DSD 400.

DSD 400 may include a head assembly 419, which may include a fly heightmechanism 412, and a reader element 406 such as a magneto-resistive (MR)read head. The head assembly 419 may be used to position the reader 406over a storage media 409, such as a spinning disc. The fly heightmechanism 412 may be configured to dynamically adjust a fly height ofthe head assembly over the storage media 409. Example fly heightmechanisms 412 may include a resistive heater, which may use thermalexpansion to deform elements of the head assembly to adjust the flyheight, or a piezo-electric element which may deform in response to anapplied electrical current to adjust the fly height.

The DSD may also include a power source 402, such as a battery or A/Ccurrent, used to provide electricity to components of the DSD 400(simplified here to components used to adjust performance settings ofthe reader 406). A power control module 404 may regulate and distributepower received from the power source 402 to components within the DSD400. A bias control module 408 may control an amount of bias applied tothe reader 406, thereby adjusting the reader's 406 ability to accuratelyread data from the storage media 409. A fly height control module 410may control the fly height mechanism 412 via applying an electricalcurrent, thereby increasing or reducing a distance between the headassembly 419 and the storage media 409. A read/write channel 417 canencode data during write operations, and reconstruct user data retrievedfrom a memory via the reader 406. In some embodiments, the bias control408 may be incorporated into the R/W channel 417 or a pre-amplifiercircuit. The DSD 400 may also include a reader parameter adjustmentmodule (RPAM) 430, which may control systems within the DSD 400 toadjust settings of the system to reduce stress on the reader 406.

The RPAM 430 may have access to one or more data stores 414, which mayinclude default or baseline settings or parameters for the reader 406and fly height mechanism, such as an amount of power to apply to eachelement, a fly height, bias settings, or other settings. The default orbaseline settings may be stored to a table or other data structure, andmay be categorized based on head and zone, for example (e.g. there maybe default settings for head 1, zone 2, or for head 4, zone 3). The RPAM430 may use the stored settings for a target reader 406 of a readoperation to initialize the reader 406, to reset the reader 406 ifadjustments have been made, as a factor in how much to adjust settingsfor the reader 406 (e.g. adjustments may be calculated as a percentageof a baseline value), or to otherwise influence the settings applied oradjusted by the RPAM 430.

The data store 414 may also provide information that may be used forpredictive or pre-emptive adjustment of settings for a reader 406, suchas by adjusting the settings prior to performing a read operation. Thisdata may include workload information, such as identifying how manyoperations are pending in a command queue, or a nature of the operations(e.g. random reads, or streaming data reads), obtained from the DSD'sinternal systems or from indicators received from a host. The data store414 may include one or more tables or data structures indicating whethercertain target sectors may be difficult to read, for example based onprevious read attempts or elevated DOS counts. The RPAM 430 may alsostore information to the data store 414, such metrics or parametersassociated with read operations performed by the reader 406. Forexample, the RPAM 430 may tally how many sectors from a read were“easy”, “moderate”, or “difficult” to detect and decode, a bit-errorrate (BER), a number of iterations for the data to converge, or otherparameters that the RPAM 430 may use to determine how well the reader406 is performing, and may store those parameters to the data store 414for use in adjusting the reader 406 settings.

In some embodiments, the RPAM 430 may determine that a read operation ispending, with an associated logical block address (LBA) range andcorresponding physical sector targets. The RPAM 430 access the datastore 414 to determine a target reader 419 and zone for the readoperation, as well as the baseline bias settings and fly height settingsfor that reader and zone combination. The RPAM 430 may also compare thetarget LBA range or physical sector range to a list of unreliable or badsectors, and may adjust the baseline reader 406 settings based onwhether the read includes sectors likely to be difficult to read. TheRPAM 430 may also access the data store 414 to determine one or morefactors of an outstanding workload that may influence whetherhigh-performance reliable reads are required, or if more relaxed reader406 settings may be applied.

Based on the evaluated parameters, the RPAM 430 may set or adjustsettings to be applied during the read operation, such as a bias appliedto the reader 406 or a fly height of the fly height mechanism 412. Thebias and fly height may be controlled based on control signals orinstructions sent from the RPAM 430 to the power control module 404, thebias control module 408, the fly height control module 410, or acombination thereof.

During execution of the read operation, signals corresponding tomagnetic fields detected by the reader 406 may be provided to the R/Wchannel 417, which may attempt to convert the signals into a bitpattern. The R/W channel may attempt to detect a bit pattern from thesignals, and the bit pattern may be provided to a decoder, which can useerror correction code embedded in the data to attempt to correct one ormore erroneous bits. Feedback can be provided from the decoder to thedetector over multiple iterations, until the bit sequences converges toa correct data sequence or fails to decode, resulting in a read error orfailure. The R/W channel 417 can provide parameters associated with theread operation to the RPAM 430, such as whether the data wassuccessfully decoded, a number of iterations performed for the data toconverge, a number of bits corrected, or other information. In someembodiments, the parametrics may be provided or evaluated per sector, sothat a difficulty of reading each sector of the read operation may bedetermined. The RPAM 430 may compare the received parameters to one ormore threshold values to determine how difficult the read operation was.For example, if the parameter(s) were below a first threshold, a sectormay be considered “easy”, and did not require much or any errorcorrection or decoding cycles. If the parameter(s) were between thefirst threshold and a second threshold, the sector may be considered“moderate” difficulty, requiring some error correction or decodingiterations, but not enough to significantly reduce performance of theDSD. If the parameter(s) were above the second threshold, then thesector may be considered “difficult”, and resulted in an unacceptablenumber of errors or iterations to converge.

The RPAM 430 may periodically determine whether to adjust the settingfor the reader 406 based on the evaluations of the parameters. Forexample, the RPAM 430 may determine whether to adjust the settings afterevery read operation, after reading a selected number of read sectors,based on a number of completed read operations, based on the passage ofa selected amount of time, or at other intervals. The RPAM 430 may alsoadjust the settings after selected events occur, such as a read errorrequiring a read retry. If an evaluation of the parameters indicatesthat more than a first threshold number of sectors are “difficult”, theRPAM 430 may increase the reader settings to improve performance. Ifmore than a second threshold number of sectors are “easy”, the RPAM mayreduce the settings for the reader 406 to reduce stress. If neitherthreshold is exceeded, then the RPAM 430 may maintain the current reader406 settings. Example methods for read head stress reduction arediscussed below.

FIG. 5 depicts a flowchart of an example method 500 for read head stressreduction, in accordance with certain embodiments of the presentdisclosure. Method 500 may be performed by a data storage device, forexample DSD 104 using controller 110 or media reader parameteradjustment module (RPAM) 130. Method 500 may include an example processfor adjusting settings or parameters applied during read operations toreduce stress on a reader element.

The method 500 may include initiating monitoring read performanceparameters, at 502. Read performance parameters may refer to parametersobtained during a write operation, such as bits-in-error or iterationsto converge. The parameters may also include counters for how manysectors during a read were “difficult”, “moderate”, or “easy” to read,for example based on information like bit errors corrected whiledecoding the sector's data, etc. In some embodiments, read performanceparameters may include characteristics of a pending read operation orworkload, such as whether a read operation includes target sectors thatmay be difficult to read, or whether a workload may encourage applyingperformance-focused settings rather than durability-focused settings.

A determination may be made, at 504, whether the monitored parameter(s)are above a first threshold. Whether a parameter is “below” or “above” athreshold is exemplary in this flowchart, and depending on the parametera lower value may be desired, or a higher value may be desired. In thecase of 504, the parameters being “above” a threshold may indicate thatthe parameters are “good” for high-quality reads (e.g. a low bit errorrate, or a low number of iterations to converge), even if the actualparameter being measured is a smaller number. In these cases, the readoperation is unlikely to be or was not difficult, indicating that theperformance settings for the reader may be reduced in order to reducestress on the reader, at 506. For example, if the parameter in questionwas bits-in-error or iterations to converge on a completed read, a lownumber may indicate that the read was very successful and be “above” thefirst threshold, indicating that few erroneous bits needed to becorrected and the settings for the reader may be adjusted to be moredurability-focused at 506. Likewise, if a pending read has few or nosectors from a ‘bad sector’ table, or the targeted sectors have a“difficult read” count below the first threshold, the reader performancemay be reduced. If the characteristics of a pending workload indicatethat the reads are not for streamed data and the quantity of pendingoperations is low, the reader settings may be reduced. In someembodiments, the method may include evaluating multiple parameters,which may each have their own threshold values to be compared against.The reader settings may be reduced only if all the considered parametersare above their respective threshold values, or a majority of theparameters are, or based on other weighting of the evaluated parameters.The thresholds may be set by a manufacturer (e.g. during certificationtesting), by a user, based on machine learning, or otherwise selected.

If the selected parameters are not above the first threshold, at 504,the method 500 may include evaluating whether the parameters are below asecond threshold, at 508. The parameters being “below” the secondthreshold is again exemplary, and here indicates that the parameters are“bad” for high-quality reads. Whether or not a high or low number forthe parameters is desirable may vary based on the parameter in question.Parameters being below the second threshold here indicates that a readoperation either was, or is likely to be, difficult to read, and thatthe reader settings should be increased to be more performance-focused,at 510.

If the read performance parameters are neither above the firstthreshold, at 504, nor below the second threshold, at 508, it mayindicate that a read operation was or is expected to be of moderatedifficulty, which may be compensated for by the error correctioncapabilities of the data channel. Accordingly, the method 500 mayinclude maintaining the current reader performance settings, at 512.Whether the reader performance settings were reduced, at 506, increased,at 508, or maintained without adjustment, at 512, the method 500 mayiterate to continue monitoring read performance parameters, at 502.Another example method of read head stress reduction is described inregard to FIG. 6.

FIG. 6 depicts a flowchart of an example method 600 for read head stressreduction, in accordance with certain embodiments of the presentdisclosure. Method 600 may be performed by a data storage device, forexample DSD 104 using controller 110 or media reader parameteradjustment module (RPAM) 130. Method 600 may include an example processfor adjusting settings or parameters for a reader based on informationavailable before a read operation.

At 602, the method 600 may include receiving a read command, which mayinclude an LBA range of data to read. The LBA range may be mapped tophysical data sectors on the storage media. The read command may bereceived initially at an interface of the DSD from a host device, or itmay be received for execution at a storage controller (which may includean RPAM) from a command queue.

Prior to executing the read command, the method 600 may includedetermining a pending workload, at 604. As described herein, determiningthe pending workload may include evaluating a nature or characteristicof incoming commands (e.g. whether read commands, such as the currentread command, are for streamed data such as reads for video playback, orare random reads or non-streamed reads where read delays may be lessdetrimental), determining a quantity of pending commands (e.g. whether anumber of pending commands are above a threshold), or making otherdeterminations about the workload. At 606, the method may includedetermining a zone of the storage media where the LBA range is stored,and a read head associated with that zone. Determining the head and zonemay also include retrieving baseline or default reader settings for theidentified read head and zone combination, such as by accessing a tableor database of default or baseline settings for each read head. Thedefault or baseline settings may include a bias to apply to the reader,a fly height for the read head, or other considerations. In someembodiments, rather than determining baseline or default settings forthe read head and zone, the method 600 may include determining thecurrent settings for the read head, if they have been adjusted away fromthe baseline or default. The current settings may be stored to a memoryor one or more registers for quick access.

At 608, the method 600 may include adjusting reader settings based onthe determined pending workload details and the prior settings for thehead and zone. For example, the prior or current reader and zonesettings may be used as a starting point, and the workload informationmay be used to determine whether the reader settings should be increasedtoward performance-focused settings, decreased toward durability-focusedsettings, or kept at the current settings.

The method 600 may also including comparing the LBA range to a badsector table, at 610. A bad sector table may include information aboutsectors that have been difficult to read on previous read attempts, suchas by requiring over a threshold number of iterations to converge orrequiring re-read attempts. The LBA range may also be compared to adirected offline scan (DOS) count for the target sectors or tracks, todetermine whether the target sectors are close to a DOS rewritethreshold, which may indicate the data may be degraded and difficult toread. Based on the comparisons, the method 600 may include determiningwhether there are difficult sectors in the LBA range, at 612. If yes,the method may include increasing the reader settings from the settingsdetermined at 608. After the reader settings are increased, at 614, orif there are not difficult sectors in the LBA range at 612, the method600 may include performing the read operation at the selected readersettings, at 616. Further evaluation and adjustment of the readersettings may be made at 618, based on the performed read operation, asdescribed in further detail in FIG. 7, starting at 702

FIG. 7 depicts a flowchart of an example method 700 for read head stressreduction, in accordance with certain embodiments of the presentdisclosure. Method 700 may be performed by a data storage device, forexample DSD 104 using controller 110 or media reader parameteradjustment module (RPAM) 130. Method 700 may include an example processfor adjusting settings or parameters for a reader based on informationobtained during a read operation.

At 702, the read operation may complete. Various parameters andstatistics about the read operation may be obtained during the read,such as a number of iterations for data to converge at each sector, anumber of bits corrected. The read statistics may be provided, e.g. froma read/write (R/W) channel to a read controller, for evaluation.

The method 700 may include determining whether the read operationfailed, and a read retry is needed, at 704. If so, the reader settingsmay be reset to default or most stringent values, and sector countersmay be reset, at 706. Sector counters may be a count of how many sectorsread during the read would be classified as “difficult”, “moderate”, orpotentially, “easy”, e.g. based on number of bit errors or iterations toconverge. For example, sectors that had more than a first number oferrors or iterations may be classified as “difficult”, sectors with lessthan a second number of errors or iterations may be classified as“easy”, and sectors with errors or iterations between the first numberand the second number may be classified as “moderate”. Depending on theembodiment, the system may not accumulate counters for one or more ofthe difficult, moderate, or easy sectors (e.g. determinations may bemade solely on a number of difficult and moderate sectors, or based onmoderate and easy sectors, or based on easy and difficult sectors).

If no read retry was required, at 704, then the method 700 may includeaccumulating the count of “difficult” sectors from the read operation,at 708. A determination may then be made whether the counter ofdifficult sectors is greater than a first threshold, at 710. If so, thereader may be failing to provide a sufficiently accurate data signal atthe current settings (e.g. requiring too many iterations to converge).The method 700 may therefore include resetting the reader settings todefault and resetting sector counters, at 706, or alternately increasingthe settings toward performance-focused values. After resetting thereader settings and resetting counters, at 706, the method may end, at726.

When the difficult sector counter is not greater than the firstthreshold, at 710, the method 700 may include accumulating the“moderate” sector counter, at 712.

At 714, the method 700 may include determining whether the moderatecounter is greater than a second threshold. If so, it may indicate thatthe reader is struggling to accurately read sectors. For example,optimizing the balance between drive performance and reader stress mayinclude aiming for no more than a selected number of “moderate” sectors,corresponding to the second threshold. More moderate sectors mayintroduce noticeable delays from error correction within the channel,while too few moderate sectors may mean the reader is being subjected tomore stress than necessary. A desired percentage range of sectors thatare classified as “moderate” may be set via adjusting thresholds appliedby the drive, during manufacturing or calibration, via user adjustment,or via other methods. For example, a target of 30% “moderate” sectors,with the majority of the rest being “easy” may be selected via settingthreshold values. In another, a target of 95% moderate difficultysectors may be set. Accordingly when the moderate sector count is abovethe second threshold, the method 700 may include increasing the readersettings towards a performance-focus, and resetting the sector counters,at 716, and then ending the method, at 726.

When the moderate sector counter is not greater than the secondthreshold, the method 700 may include determining whether a number ofsectors read is greater than a check trigger number, which may triggeran evaluation of whether to reduce reader settings to reduce stress. Forexample, under normal operating conditions a decision to reduce readersettings may only be made every one thousand sectors read, to accumulatea substantial number of sectors counted to make an reliable average ofdifficult or moderate sectors. Meanwhile, increasing reader settings maybe performed after any difficult read operation to ensure reliable readperformance is maintained. However, in other embodiments, the checktrigger may be used to determine when to both lower and increase readersettings, so long as read failures and retries are not occurring. Inother embodiments, the evaluation to lower or raise reader settings maybe made after every read operation, without using a check triggercounter for number of sectors read. The implementation may vary based ondesired performance from the drive.

When the number of sectors read is not greater than the check trigger,at 718, the method may finish, at 726. When the number of sectors readis greater than the check trigger, the method 700 may includedetermining whether the number of moderate sectors is less than a thirdthreshold, at 720. If so, it may indicate that the reader is veryaccurately reading sectors with minimal bit errors or iterations neededto converge, and therefore more stress is being put on the reader thannecessary. Alternately, the number of “easy” sectors may be comparedagainst a threshold value, with too many easy sectors indicating thatthe reader is likewise under more stress than necessary. Accordingly,the method 700 may include reducing the reader settings toward moredurability-focused settings, at 722.

If the moderate sector counter is not less than the third threshold, at720, or once the reader settings are reduced, at 722, the method 700 mayinclude dividing the sector counters by two, at 724, and completing themethod, at 726. When the sector counters are not reset, they may becarried forward between multiple read operations. By dividing the sectorcounters by two, at 724, it may weight newer read operations moreheavily than previous read operations, giving a better indication of howthe reader is currently performing. Other methods of weighting may alsobe used, or different denominators other than two may be used, or thesector counters may be reset after each read operation, or after aselected number of read operations, or after a selected number of readsectors. Other embodiments are also possible. The reader settingsestablished in method 700 may be applied as the “baseline” settings usedas prior to a next read, in method 600. Alternately, the approaches ofmethod 600 or 700 may be used independently, without the other method.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Moreover, although specific embodiments have been illustrated anddescribed herein, it should be appreciated that any subsequentarrangement designed to achieve the same or similar purpose may besubstituted for the specific embodiments shown.

This disclosure is intended to cover any and all subsequent adaptationsor variations of various embodiments. Combinations of the aboveembodiments, and other embodiments not specifically described herein,will be apparent to those of skill in the art upon reviewing thedescription. Steps depicted in the flowcharts may optionally beexcluded, added, performed in a different order, or performed withdifferent degrees of concurrency than shown (e.g. steps depicted assequential may be performed concurrently). Additionally, theillustrations are merely representational and may not be drawn to scale.Certain proportions within the illustrations may be exaggerated, whileother proportions may be reduced. Accordingly, the disclosure and thefigures are to be regarded as illustrative and not restrictive.

What is claimed is:
 1. An apparatus comprising: a read head configuredto read data stored to a data storage medium; a control circuit thatcontrols a parameter of the read head influencing a read performancecorresponding to the read head's ability to accurately read data, thecontrol circuit configured to extend the working lifespan of the readhead by: monitor the read performance of the read head; and adjust theparameter to reduce the read performance when the read performance isgreater than a first threshold.
 2. The apparatus of claim 1 furthercomprising: the parameter includes a bias setting applied to the readhead to adjust the read head ability to detect the recorded data on thedata storage medium.
 3. The apparatus of claim 1 further comprising: theparameter includes a fly height that controls a distance between theread head and the data storage medium.
 4. The apparatus of claim 3further comprising: the parameter further includes a bias settingapplied to the read head to adjust the read head ability to detect therecorded data on the data storage medium.
 5. The apparatus of claim 1further comprising: the control circuit further configured to adjust theparameter to increase the read performance when the read performance isbelow a second threshold.
 6. The apparatus of claim 5 furthercomprising: the control circuit further configured to not adjust theparameter to maintain the read performance when the read performance isneither above the first threshold nor below the second threshold.
 7. Theapparatus of claim 1 further comprising: the control circuit monitoringthe read performance includes: receive statistics regarding sectors readduring a read operation performed by the read head, the statisticsindicating a difficulty of reading data from a sector; classify thesectors according to a difficulty to read the sectors based on thestatistics for each sector; accumulate a first counter corresponding toa number of “moderate” difficulty sectors; and determine that the readperformance is greater than the first threshold when the first counteris less than a second threshold.
 8. The apparatus of claim 7 furthercomprising: the control circuit monitoring the read performanceincludes: accumulate a second counter corresponding to a number of“difficult” difficulty sectors; and adjust the parameter to increase theread performance when the second counter is greater than a thirdthreshold.
 9. The apparatus of claim 8 further comprising: the controlcircuit monitoring the read performance includes: maintain a thirdcounter corresponding to a total number of sectors read; and compare thefirst counter to the second threshold when the third counter exceeds acheck count value.
 10. The apparatus of claim 8 further comprising: thecontrol circuit monitoring the read performance includes: divide thefirst counter and the second counter by two after comparing the firstcounter to the second threshold; and maintain values for the firstcounter and the second counter for use during a subsequent readoperation.
 11. The apparatus of claim 7 further comprising thestatistics includes a bits-in-error number based on sector.
 12. Theapparatus of claim 7 further comprising the statistics includes a numberof iterations between a detector and a decoder of a data channel fordata to converge based on sector.
 13. A method comprising: reading datastored to a data storage medium using a read head; controlling aparameter of the read head influencing a read performance, correspondingto the read head's ability to accurately read data, to extend theworking lifespan of the read head including: monitoring the readperformance of the read head; and adjusting the parameter to reduce theread performance when the read performance is greater than a firstthreshold.
 14. The method of claim 13 further comprising: the parameterincludes a bias setting applied to the read head to adjust the readhead's ability to detect the recorded data on the data storage medium.15. The method of claim 13 further comprising: the parameter includes afly height that controls a distance between the read head and the datastorage medium.
 16. The method of claim 13 further comprising: adjustingthe parameter to increase the read performance when the read performanceis below a second threshold; and not adjusting the parameter to maintainthe read performance when the read performance is neither above thefirst threshold nor below the second threshold.
 17. The method of claim13 further comprising: monitoring the read performance includes:receiving statistics regarding sectors read during a read operationperformed by the read head, the statistics indicating a difficulty ofreading data from a sector; classifying the sectors according to adifficulty to read the sectors based on the statistics for each sector;accumulating a first counter corresponding to a number of “moderate”difficulty sectors; accumulating a second counter corresponding to anumber of “difficult” difficulty sectors; adjusting the parameter toincrease the read performance when the second counter is greater than asecond threshold; and determine that the read performance is greaterthan the first threshold when the first counter is less than a thirdthreshold, when the second counter is greater than a third threshold.18. The method of claim 17 further comprising: monitoring the readperformance further includes: maintaining a third counter correspondingto a total number of sectors read; and comparing the first counter tothe second threshold when the third counter exceeds a check count value.19. The method of claim 17 further comprising: monitoring the readperformance further includes: maintaining values for the first counterand the second counter for use during a subsequent read operation; andweighting recent read operations more heavily by dividing the firstcounter and the second counter by another number.
 20. The method ofclaim 17 further comprising the statistics includes a tally based onsector of at least one of: a bits-in-error number; and a number ofiterations between a detector and a decoder of a data channel for datato converge.
 21. A memory device storing instructions that, whenexecuted, cause a processor to perform a method comprising: reading datastored to a data storage medium using a read head; controlling aparameter of the read head influencing the read head's ability toaccurately read data to extend the working lifespan of the read headincluding: monitoring a read performance of the read head; adjusting theparameter to reduce the read performance when the read performance isgreater than a first threshold; adjusting the parameter to increase theread performance when the read performance is below a second threshold;and not adjusting the parameter to maintain the read performance whenthe read performance is neither above the first threshold nor below thesecond threshold.
 22. The memory device of claim 21 further comprising:the parameter includes a bias setting applied to the read head to adjustthe read head's ability to detect the recorded data on the data storagemedium.
 23. The memory device of claim 21 further comprising: theparameter includes a fly height that controls a distance between theread head and the data storage medium.
 24. The method of claim 13further comprising: monitoring the read performance includes: receivingstatistics regarding sectors read during a read operation performed bythe read head, the statistics indicating a difficulty of reading datafrom a sector; classifying the sectors according to a difficulty to readthe sectors based on the statistics for each sector; accumulating afirst counter corresponding to a number of “moderate” difficultysectors; accumulating a second counter corresponding to a number of“difficult” difficulty sectors; adjusting the parameter to increase theread performance when the second counter is greater than a secondthreshold; and determine that the read performance is greater than thefirst threshold when the first counter is less than a third threshold.25. The memory device of claim 24 further comprising: monitoring theread performance further includes: maintaining values for the firstcounter and the second counter for use during a subsequent readoperation; and weighting recent read operations more heavily by dividingthe first counter and the second counter by another number.